オブジェクト指向実践ガイド 〜Rubyでわかる 進化し続ける柔軟なアプリケーションの作り方
https://gyazo.com/13449d783534ade69cee6834cda25b6e
オブジェクト指向設計とは何か
オブジェクト指向設計とは、「依存関係を管理すること」です。
オブジェクト指向設計とは、変更がかんたんになるように、どんなコード構成にするか、ということです。
設計とは何か
実用的な設計は、アプリケーションに何が起こるかを予測することはなく、将来何かが起こる、ということを単に認めるだけです。その「何か」を、現時点で設計者が知ることはできません。つまり、実用的な設計とは、未来を推測するものではなく、未来を受け入れるための選択肢を保護するものなのです。
選択してしまうのではなく、動くための余地を設計者に残すものです。設計の目的は「あとにでも」設計をできるようにすることであり、その第一の目標は変更コストの削減です。
仕様が変化するのは免れないので、変化に強いコードを書くことが重要
変更コストを下げる